/*
 * main.c
 *
 *  Created on: Jul 30, 2013
 *      Author: lxzhu
 */
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

void onDraw();
void onWindowResize();

int main(int argc, char** argv){
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
	glutCreateWindow("Viewport");
	glutReshapeFunc(onWindowResize);
	glutDisplayFunc(onDraw);
	glutMainLoop();
	return 0;
}

void onDraw(){
  glClear(GL_COLOR_BUFFER_BIT);
  glBegin(GL_POLYGON);
   glVertex2f(-0.5,-0.5);
   glVertex2f(0.5,-0.5);
   glVertex2f(0.5,0.5);
  glEnd();
  glutSwapBuffers();
}

void onWindowResize(int w, int h){
	//这里有疑问，
	//第一次写了glViewport之后，图形消失了。
	//所以添加了gluOrtho2D的调用来设置取景窗口。设置后，图形正确出现。
	//然后，注释掉取景窗口的设置，图形显示正常。

	//	glMatrixMode(GL_PROJECTION);
	//	glLoadIdentity();
	//	gluOrtho2D(-1.0,1.0,-1.0,1.0);
	//	glMatrixMode(GL_MODELVIEW);
	glViewport(0,0,w/3,h/3);

}
